package cn.com.dcsgo.controller;

import cn.com.dcsgo.pojo.Person;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

/**
 * 接收json数据
 *
 * @author Dcsgo
 * @since 2025/3/2 12:15
 */
@Controller
@ResponseBody
@RequestMapping("json")
public class JsonController {


    /**
     * 接收json数据必须是post请求
     * 参数需要使用@RequestBody注解
     * 通常参数类型是一个与json数据相同的java对象(需要提供getter setter)
     * 此时访问接口的话会报415 - 不支持的媒体类型
     * 因为默认的handlerAdapter不能处理json数据(json是JavaScript中的)
     * 我们还需要导入相关依赖(jackson-databind)
     * 并进行配置(MvcConfig)使得handlerAdapter可以处理json数据
     *
     * @param person person
     * @return String
     */
    @PostMapping("user")
    public String json(@RequestBody Person person) {
        System.out.println("person = " + person);
        return "person = " + person;
    }

}
